package hcn.protocol.ods.newdiagnosis;/**
 * @Auther: Administrator
 * @Date: 2019/4/20 13:01
 * @Description:
 */

import lombok.*;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 获取已支付列表返回数据
 *
 * @Create: 2019-04-20 13:01
 **/
@NoArgsConstructor
@Data
@Builder
@AllArgsConstructor
@ToString
public class NewGetPayedListResponseBean implements Serializable {
    private static final long serialVersionUID = -2410933192880770180L;
    /**
     * patientCode : 患者在 his 中的唯一标识
     * patientMedicalCardType : 诊疗卡类型
     * patientMedicalCardNumber : 诊疗卡号
     * invoiceList : [{"invoiceNumber":"发票号码","costdate":"结算日期(yyyy-MM-dd HH:mm:ss)","medicalDate":"就诊日期(yyyy-MM-dd HH:mm:ss)","patientName":"病人姓名","sex":"病人性别","age":"病人年龄","diagnosisRecordId":"就诊记录标识","amount":"合计金额","invoiceStatus":"发票状态","costList":[{"costName":"检查单名称","feeTypeCode":"收费单据类型","feeNo":"收费单据标识","payedDate":"收费日期","feeDate":"费用日期","invoiceNo":"发票号码","barCode":"条码","totalFee":"金额","tollCollectorName":"收费员姓名","tollCollector":"收费员","costCode":"检查单id(即检查/检验项目)ID","mergingCode":"归并代码(1西药费、2中药费、3草药费、4检查费、5检验费、6代煎费、7快递费等)","executionStatus":"执行判别（0、已付款/未执行/待执行，1、表示已取药2、表示已执行3、标志已退费","execute":"执行科室 ","remark":"备注（比如哪里取药）"}]}]
     */

    private String patientCode;
    private Integer patientMedicalCardType;
    private String patientMedicalCardNumber;
    private String patientName;
    private String patientSex;
    private String patientAge;
    private List<InvoiceListBean> invoiceList;

    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    @ToString
    public static class InvoiceListBean {
        /**
         * invoiceNumber : 发票号码
         * costDate : 结算日期(yyyy-MM-dd HH:mm:ss)
         * medicalDate : 就诊日期(yyyy-MM-dd HH:mm:ss)
         * diagnosisRecordId : 就诊记录标识
         * amount : 合计金额
         * invoiceStatus : 发票状态
         * costList : [{"costName":"检查单名称","feeTypeCode":"收费单据类型","feeNo":"收费单据标识","payedDate":"收费日期","feeDate":"费用日期","invoiceNo":"发票号码","barCode":"条码","totalFee":"金额","tollCollectorName":"收费员姓名","tollCollector":"收费员","costCode":"检查单id(即检查/检验项目)ID","mergingCode":"归并代码(1西药费、2中药费、3草药费、4检查费、5检验费、6代煎费、7快递费等)","executionStatus":"执行判别（0、已付款/未执行/待执行，1、表示已取药2、表示已执行3、标志已退费","execute":"执行科室 ","remark":"备注（比如哪里取药）"}]
         */

        private String invoiceNumber;
        private String costDate;
        private String medicalDate;
        private String patientName;
        private String patientId;
        private String sex;
        private Integer age;
        private String barCode;
        private String amount;
        private String invoiceStatus;//  打印状态: 1未打印2已打印
        private String orderId;//互联网的药品、检验检查订单标识
        private String paymentNumber;//结算标识
        private String payStatus;//支付状态 1已支付 2未支付 3已退款 4 已取消
        private double totalFee;
        private String diagnosisRecordId;
        private String tollCollectorName;
        private String tollCollector;
        private String feeDate;
        private List<CostListBean> costList;

        @NoArgsConstructor
        @Data
        @Builder
        @AllArgsConstructor
        @ToString
        public static class CostListBean {
            /**
             * mergingCode : 归并代码(1西药费、2中药费、3草药费、4检查费、5检验费、6代煎费、7快递费等)
             * executionStatus : 执行判别（0、已付款/未执行/待执行，1、表示已取药2、表示已执行3、标志已退费
             * expenseType : 检验检查类别  4检验  5 检查
             * execute : 执行科室
             * remark : 备注（比如哪里取药）
             */

            private String itemName;
            private String itemCode;
            private String mergingCode;
            private String mergingName;
            private String executionStatus;
            private String expenseType;
            private String execute;
            private String remark;
            //收货状态 1 已收货
            private String confirmReceiptFlag;
        }
    }
}
